package gestordeentidades.persistance.interfaces;

import java.sql.Date;

/**
 * Trabalho DAS - 2014/2015
 * Interface a ser implementado por uma classe que representa 
 * uma linha lida de uma tabela
 * @author a21210380, a21190325, a21210392
 */
public interface ILinha {
    
    public Integer getInteger(String key);

    /**
     * NoSuchElementException caso a key não exista
     * @param key nome da coluna na base de dados
     * @return
     */
    public int getInt(String key);

    /**
     * NoSuchElementException caso a key não exista
     * @param key nome da coluna na base de dados
     * @return
     */
    public long getLong(String key);

    /**
     * NoSuchElementException caso a key não exista
     * @param key nome da coluna na base de dados
     * @return
     */
    public float getFloat(String key);

    /**
     * NoSuchElementException caso a key não exista
     * @param key nome da coluna na base de dados
     * @return
     */
    public double getDouble(String key);

    /**
     * NoSuchElementException caso a key não exista
     * @param key nome da coluna na base de dados
     * @return
     */
    public boolean getBoolean(String key);

    /**
     * NoSuchElementException caso a key não exista
     * @param key nome da coluna na base de dados
     * @return
     */
    public String getString(String key);

    /**
     * NoSuchElementException caso a key não exista
     * @param key nome da coluna na base de dados
     * @return
     */
    public Date getDate(String key);
}
